iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
0
自我挑戰組

白鬍子老頭30天 Swift Ios系列 第 14

Day(7+7) Lecture 7 -2 Extention Protocol Delegation

  • 分享至 

  • xImage
  •  

擴充型別

Extention

extention可以讓你新增方法或是屬性在你的class struct enum
範例 新增一個方法到UIViewController

extention UIViewController {
var SomeProperties : string {
return ""
}
}

注意事項

你不能重新加入已經存在的屬性或方法,你只能加入新的
你加入的屬性只能computed only

Protocol

protocol可以規範你的class enum struct 需要什麼
規範對象應該具備的屬性與方法
大概就一堆方法和屬性的宣告
跟extention一樣你加入的屬性只能computed only

http://ithelp.ithome.com.tw/upload/images/20161229/20103833kj5ik3m3GI.png
由於在struct裡的方法要改變內部的屬性要加上mutating所以這邊的protocol加入了一個mutating方法
然後myP1可以當作一種型別使用,因為fruit有設置myP1 protocol,所以可以以直接copy過去

Delegation

是一種View對Controller盲目的溝通手段

View說我將會放大縮小,這邊開放報名,你可以在我剛開始放大縮小時給你做一些事
View這麼說著
所以Controller看到就報了名後說
你這段時間給我做事
你剛放大時我想做一個後空翻
因此View剛放大縮小時就Controller就做了一個後空翻

http://ithelp.ithome.com.tw/upload/images/20161229/20103833IAolk3AQkP.png
大概就是這樣這我的理解不知道有妹有錯誤


上一篇
Day(7+6) Lecture 7 -1 weak strong unknowed , closures
下一篇
Day(7+8) Lecture 7 -3 ScrollView
系列文
白鬍子老頭30天 Swift Ios30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言